package com.dxf.chepter04

/**
 * java中
 * public protect  default private
 *
 *
 * scala语言中  static 关键字被拿掉了 为了保证和java中的static一致
 * 引入伴生对象和伴生类
 * 伴生对象 写静态内容
 * 伴生类   写非静态内容
 *
 * ===========================================
 *
 * scala中的可见性
 *
 * 1 默认属性底层是 private,但是提供的xx()和xx_$eq()方法,可以获取
 * 2 当方法访问权限默认时,是 public
 * 3 private 为私有,只在类的内部和伴生对象中可用
 * 4 protect为受保护权限,scala中只能子类访问,同包无法访问
 * 5 scala中没有public关键字,不能用public显示的修饰属性和方法
 * 6 包访问权限  和java不同
 *
 *
 *
 *
 */

//对象中的方法都是静态的
object T53_scala包的可见性 {
  def main(args: Array[String]): Unit = {
    printLine
    val persion = new Persion3

    persion.name
  }


  def aaa(): Unit = {
    println("aaa")
  }

}

//伴生类
class Clerk {

}

//伴生对象,静态的
object Clerk {

}

class Persion3 {
  //[chepter04] 扩大访问权限.表示chepter04包下也可以使用
  private[chepter04] val name = "jack"
}




